package message

import "yundian/internel/pkg/dingo"

// 微信订阅消息
type OrderMessageModel struct {
	Id              int    `gorm:"column:id" json:"id"`                            // ID
	Openid          string `gorm:"column:openid" json:"openid"`                    // openId
	ProductId       string `gorm:"column:product_id" json:"productId"`             // 计费编号
	TradeNo         string `gorm:"column:trade_no" json:"tradeNo"`                 // 第三方订单号
	DeviceSn        string `gorm:"column:device_sn" json:"deviceSn"`               // 设备标识
	TemplateId      string `gorm:"column:template_id" json:"templateId"`           // 消息模板ID
	PlaceName       string `gorm:"column:place_name" json:"placeName"`             // 网点名称
	Status          uint8  `gorm:"column:status" json:"status"`                    // 状态 1-取消发送 2-发送失败 3-待发送 4-已发送
	CountdownSecond int    `gorm:"column:countdown_second" json:"countdownSecond"` // 发送倒计时 单位：秒
	CreateTime      string `gorm:"column:create_time" json:"createTime"`           // 创建时间
	UpdateTime      string `gorm:"column:update_time" json:"updateTime"`           // 更新时间
}

// 微信订阅消息
type OrderAndMessageModel struct {
	OrderMessageModel
	SettlementMoney int64      `gorm:"column:settlement_money" json:"settlementMoney"` // 结算金额
	EndAt           dingo.Time `gorm:"column:end_at" json:"endAt"`
	BeginAt         dingo.Time `gorm:"column:begin_at" json:"beginAt"`
	CreateAt        dingo.Time `gorm:"column:create_at" json:"createAt"`
	State           int8       `gorm:"column:state" json:"state"` // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除
}

// MessageFixedModel 微信订阅消息-固定提醒
type MessageFixedModel struct {
	MessageFixedDb
	CreateTime string `gorm:"column:create_time" json:"createTime"` // 创建时间
	UpdateTime string `gorm:"column:update_time" json:"updateTime"` // 更新时间
}

// MessageFixedDb 微信订阅消息-固定提醒
type MessageFixedDb struct {
	Status     uint8  `gorm:"column:status" json:"status"`          // 状态 1-取消发送 2-发送失败 3-待发送 4-已发送
	Type       uint8  `gorm:"column:type" json:"type"`              // 类型 1-好评提醒
	Id         int    `gorm:"column:id" json:"id"`                  // ID
	PlaceId    int    `gorm:"column:place_id" json:"placeId"`       // 门店ID
	PlaceName  string `gorm:"column:place_name" json:"placeName"`   // 网点名称
	Openid     string `gorm:"column:openid" json:"openid"`          // openId
	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识
	TemplateId string `gorm:"column:template_id" json:"templateId"` // 消息模板ID
}

func (m *MessageFixedDb) TableName() string {
	return "wx_message_send_fixed"
}
